//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package org.activiti.engine.impl.history;

import java.util.Date;
import org.activiti.bpmn.model.FlowElement;
import org.activiti.engine.api.internal.Internal;
import org.activiti.engine.impl.persistence.entity.ExecutionEntity;
import org.activiti.engine.impl.persistence.entity.HistoricActivityInstanceEntity;
import org.activiti.engine.impl.persistence.entity.IdentityLinkEntity;
import org.activiti.engine.impl.persistence.entity.TaskEntity;
import org.activiti.engine.impl.persistence.entity.VariableInstanceEntity;

@Internal
public interface HistoryManager {
  boolean isHistoryLevelAtLeast(HistoryLevel var1);

  boolean isHistoryEnabled();

  void recordProcessInstanceEnd(String var1, String var2, String var3);

  void recordProcessInstanceStart(ExecutionEntity var1, FlowElement var2);

  void recordProcessInstanceNameChange(String var1, String var2);

  void recordSubProcessInstanceStart(ExecutionEntity var1, ExecutionEntity var2, FlowElement var3);

  void recordActivityStart(ExecutionEntity var1);

  void recordActivityEnd(ExecutionEntity var1, String var2);

  HistoricActivityInstanceEntity findActivityInstance(ExecutionEntity var1, boolean var2, boolean var3);

  void recordProcessDefinitionChange(String var1, String var2);

  void recordTaskCreated(TaskEntity var1, ExecutionEntity var2);

  void recordTaskAssignment(TaskEntity var1);

  void recordTaskClaim(TaskEntity var1);

  void recordTaskId(TaskEntity var1);

  void recordTaskEnd(String var1, String var2);

  void recordTaskAssigneeChange(String var1, String var2);

  void recordTaskOwnerChange(String var1, String var2);

  void recordTaskNameChange(String var1, String var2);

  void recordTaskDescriptionChange(String var1, String var2);

  void recordTaskDueDateChange(String var1, Date var2);

  void recordTaskPriorityChange(String var1, int var2);

  void recordTaskCategoryChange(String var1, String var2);

  void recordTaskFormKeyChange(String var1, String var2);

  void recordTaskParentTaskIdChange(String var1, String var2);

  void recordTaskExecutionIdChange(String var1, String var2);

  void recordTaskDefinitionKeyChange(String var1, String var2);

  void recordTaskProcessDefinitionChange(String var1, String var2);

  void recordVariableCreate(VariableInstanceEntity var1);

  void recordHistoricDetailVariableCreate(VariableInstanceEntity var1, ExecutionEntity var2, boolean var3);

  void recordVariableUpdate(VariableInstanceEntity var1);

  void recordVariableRemoved(VariableInstanceEntity var1);

  void createIdentityLinkComment(String var1, String var2, String var3, String var4, boolean var5);

  void createUserIdentityLinkComment(String var1, String var2, String var3, boolean var4);

  void createGroupIdentityLinkComment(String var1, String var2, String var3, boolean var4);

  void createIdentityLinkComment(String var1, String var2, String var3, String var4, boolean var5, boolean var6);

  void createUserIdentityLinkComment(String var1, String var2, String var3, boolean var4, boolean var5);

  void createProcessInstanceIdentityLinkComment(String var1, String var2, String var3, String var4, boolean var5);

  void createProcessInstanceIdentityLinkComment(String var1, String var2, String var3, String var4, boolean var5, boolean var6);

  void createAttachmentComment(String var1, String var2, String var3, boolean var4);

  void recordIdentityLinkCreated(IdentityLinkEntity var1);

  void deleteHistoricIdentityLink(String var1);

  void updateProcessBusinessKeyInHistory(ExecutionEntity var1);
}
